import http from './http'

// 客户API接口
export default {
  /**
   * 获取客户列表
   * @param {Object} params 查询参数
   * @returns {Promise} 客户列表和总数
   */
  getCustomers(params) {
    return http.get('/customers', { params })
  },

  /**
   * 获取客户详情
   * @param {string} id 客户ID
   * @returns {Promise} 客户详情
   */
  getCustomerById(id) {
    return http.get(`/customers/${id}`)
  },

  /**
   * 创建客户
   * @param {Object} customer 客户信息
   * @returns {Promise} 创建的客户
   */
  createCustomer(customer) {
    return http.post('/customers', customer)
  },

  /**
   * 更新客户
   * @param {string} id 客户ID
   * @param {Object} customer 客户信息
   * @returns {Promise} 更新后的客户
   */
  updateCustomer(id, customer) {
    return http.put(`/customers/${id}`, customer)
  },

  /**
   * 删除客户
   * @param {string} id 客户ID
   * @returns {Promise} 操作结果
   */
  deleteCustomer(id) {
    return http.delete(`/customers/${id}`)
  },

  /**
   * 添加客户联系人
   * @param {string} customerId 客户ID
   * @param {Object} contact 联系人信息
   * @returns {Promise} 创建的联系人
   */
  addCustomerContact(customerId, contact) {
    return http.post(`/customers/${customerId}/contacts`, contact)
  },

  /**
   * 更新客户联系人
   * @param {string} customerId 客户ID
   * @param {string} contactId 联系人ID
   * @param {Object} contact 联系人信息
   * @returns {Promise} 更新后的联系人
   */
  updateCustomerContact(customerId, contactId, contact) {
    return http.put(`/customers/${customerId}/contacts/${contactId}`, contact)
  },

  /**
   * 删除客户联系人
   * @param {string} customerId 客户ID
   * @param {string} contactId 联系人ID
   * @returns {Promise} 操作结果
   */
  deleteCustomerContact(customerId, contactId) {
    return http.delete(`/customers/${customerId}/contacts/${contactId}`)
  },

  /**
   * 获取客户类型枚举
   * @returns {Promise} 客户类型列表
   */
  getCustomerTypes() {
    return http.get('/enums/customerTypes')
  }
}